<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>文章信息展示</title>
    <style>
        body {
            margin: 0;
        }

        ul {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        a {
            text-decoration: none;
            color: #404040;
        }

        .wrap {
            width: 600px;
            margin: 0 auto;
        }

        .news-list {
            width: 600px;
        }

        .news {
            width: 100%;
            display: flex;
            justify-content: space-between;
            padding: 15px 0;
            border-bottom: 1px solid #999;
        }

        .info {
            display: flex;
            width: 200px;
            justify-content: space-between;
            font-size: 12px;
            color: #888;
        }

        .tips {
            display: flex;
            width: 60px;
            justify-content: space-between;
        }

        .news-list {
            min-height: 686px;
        }

        .news-list li:nth-child(5) {
            border-bottom: none;
        }

        .pagination {
            display: flex;
            width: 300px;
            text-align: center;
            background-color: rgb(252, 238, 238);
            border-radius: 25px;
            overflow: hidden;
            margin: 0 auto;
        }

        .pagination a {
            width: 30px;
            line-height: 30px;
            color: #404040;
            flex: 1;
        }

        .pagination a:nth-child(1) {
            transform: rotate(-45deg);
        }

        .pagination .next {
            transform: rotate(45deg);
        }

        .pagination a:hover {
            color: rgb(247, 73, 73);
        }

        .newsContainer {
            width: 400px;
        }

        .news img {
            width: 140px;
            height: 88px;
        }
    </style>
    <script src="./axios.js"></script>
</head>

<body>
    <div class="wrap">
        <ul class="news-list">
            <li class="news">
                <a href="javascript:;">
                    <img src="./img/img.png" alt="">
                </a>
                <div class="newsContainer">
                    <h3>
                        <a href="javascript:;" class="title">18人死伤！韩国一男子纵火后持凶器伤害避险邻居</a>
                    </h3>
                    <div class="info">
                        <span class="tips"><span>纵火</span><span>韩国</span><span>逮捕</span></span>
                        <!-- <span class="line"></span> -->
                        <span class="time">| &nbsp;&nbsp;1小时前</span>
                    </div>
                </div>
            </li>
        </ul>
        <div class="pagination">
            <a href="javascript:;" class="prev">⌜</a>
            <a href="javascript:;" class="page">1</a>
            <a href="javascript:;" class="page">2</a>
            <a href="javascript:;" class="page">3</a>
            <a href="javascript:;" class="next">⌝</a>
        </div>
    </div>
    <script>
        // 通过ajax 获取数据
        (async function () {
            let { data: { newsData, count } } = await axios.get("/getnews");
            // console.log(data);
            renderDom(newsData);
            renderPage(count);
            addPageEvent();
        })();


        // 根据数据渲染页面

        function renderDom(data) {
            let ulEle = document.querySelector(".news-list");
            ulEle.innerHTML = "";
            data.forEach(item => {
                let liEle = document.createElement("li");
                liEle.classList.add("news");
                liEle.innerHTML = `<a href="javascript:;">
                    <img src="./img/${item.imgurl}" alt="">
                </a>
                <div class="newsContainer">
                    <h3>
                        <a href="/detailShow?id=${item.id}" class="title">${item.title}</a>
                    </h3>
                    <div class="info">
                        <span class="tips"><span>纵火</span><span>韩国</span><span>逮捕</span></span>
                        <!-- <span class="line"></span> -->
                        <span class="time">| &nbsp;&nbsp;1小时前</span>
                    </div>
                </div>`;
                ulEle.appendChild(liEle);
            })
        }


        // 根据count的值渲染分页页码
        function renderPage(count) {
            let paginationEle = document.querySelector(".pagination");
            paginationEle.innerHTML = `<a href="javascript:;" class="prev">⌜</a>`
            for (let i = 1; i <= count; i++) {
                paginationEle.innerHTML += `<a href="javascript:;" class="page" >${i}</a>`;
            }
            paginationEle.innerHTML += '<a href="javascript:;" class="next">⌝</a>'

        }

        // 点击页码的时候 发送ajax 获取最新数据然后渲染 
        function addPageEvent() {
            let pageEle = document.querySelectorAll(".page");
            pageEle.forEach(item => {
                item.onclick = async function () {
                    let p = item.innerHTML;
                    let { data: { newsData, count } } = await axios.get("/getnews", { params: { p } });
                    console.log(newsData);
                    renderDom(newsData);
                }
            })
        }



    </script>
</body>

</html>